﻿Public Class frmSesion
    Dim _formPrincipal As frmPrincipal
    Dim iniciarSesion As Boolean = False

    Private Sub Cancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancelar.Click
        iniciarSesion = False
        Me.Close()
    End Sub

    Private Sub cmdIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdIniciar.Click
        If Me.txtUsuario.Text.Trim() = "" Then
            MsgBox("El Usuario es requerido", vbOKOnly + vbCritical, "Atención")
            Me.txtUsuario.Focus()
            Exit Sub
        End If
        If Me.txtContrasenya.Text.Trim() = "" Then
            MsgBox("La Contraseña es requerida", vbOKOnly + vbCritical, "Atención")
            Me.txtContrasenya.Focus()
            Exit Sub
        End If


        Dim myAccesoDatos As New AccesoDatos
        Dim myConsulta As String

        myConsulta = _
            "SELECT ID, (APELLIDO + ', ' + NOMBRE) AS APELLIDO_NOMBRE FROM EMPLEADO " & _
            "WHERE ACTIVO = 'S' AND CONTRASENYA_LOGIN = '" & Me.txtContrasenya.Text & "' AND USUARIO_LOGIN = '" & Me.txtUsuario.Text & "'"

        Dim table As Data.DataTable
        table = myAccesoDatos.ejecutarConsulta(myConsulta)

        If table.Rows.Count > 0 Then
            _formPrincipal.sesionIniciada = True

            If table.Rows.Item(0).Item(0) = Constantes.id_Usuario_Administrador Then
                _formPrincipal.manager = True
            Else
                _formPrincipal.manager = False
            End If

            _formPrincipal.idUsuarioLogueado = table.Rows.Item(0).Item(0)
            _formPrincipal.nombreUsuarioLogueado = table.Rows.Item(0).Item(1)
            _formPrincipal.habilitarMenu()
            iniciarSesion = True
            MsgBox("Sesión Iniciada.", vbOKOnly + MsgBoxStyle.Information, "Atención")
            Me.Close()
        Else
            MsgBox("Usuario/Contaseña Incorrectos o el Usuario se encuentra deshabilitado. No es posible iniciar Sesión.", vbOKOnly + vbCritical, "Atención")
        End If
        
    End Sub

    Private Sub frmSesion_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If iniciarSesion = False Then
            If MessageBox.Show("Si no inicia Sesión no podrá operar con la Aplicación ¿Está seguro?", "Atención", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.OK Then
                e.Cancel = False
            Else
                e.Cancel = True
            End If
        End If
    End Sub


    Public Sub New()
        InitializeComponent()
    End Sub

    Public Sub New(ByRef formPrincipal As frmPrincipal)
        InitializeComponent()
        _formPrincipal = formPrincipal
    End Sub

    Private Sub frmSesion_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class